;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; This file is part of ICCLE2.
;
; ICCLE2 is free software: you can redistribute it and/or modify
; it under the terms of the GNU General Public License as published by
; the Free Software Foundation, either version 3 of the License, or
; (at your option) any later version.
;
; ICCLE2 is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
; GNU General Public License for more details.
;
; You should have received a copy of the GNU General Public License
; along with ICCLE2.  If not, see <http://www.gnu.org/licenses/>.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;<h1><join>Defining Ranges</join></h1>
;<p>Ranges run from <em>min .. max</em>.<pre>
(defstruct range 
  (max (* -1 most-positive-fixnum))
  (min most-positive-fixnum)
  (ready? t))
;</pre>A <em>dist</em> is a list of numbers plus
;the sum of those numbers.</pre>
(defstruct (dist (:include range))
  all
  (key   #'first)
  (value #'rest)
  (sum 0) 
)
;</pre>A <em>gaussian</em> is a place to store
;numbers, and enough information to extract <em>mean</em>
;and <em>standard deviation</em>.<pre>
(defstruct (gaussian (:include range))
  (sumsq 0)
  (sum 0)
  (n 0)
  mean
  stdev)
;</pre>